/**
 * @Author       : Hejh(3010733382@qq.com)
 * @Version      : V1.0
 * @Date         : 2024-01-18 19:09:32
 * @Description  : 请求日志记录中间件
 */

const R = require('@/models/Response')
const { ERROR_SYSTEM_CODE } = require('@/constants/errorCode')

// 创建一个日志记录中间件
module.exports.httploggerMiddleware = () => {
  return async (ctx, next) => {
    // 请求前记录时间
    // 请求前记录一下用户的IP和UA
    const { ip } = ctx.request
    ctx.mySession = {
      ip: ip,
      ua: ctx.request.header['user-agent']
    }
    await next()

    // 如果ctx.body为undefined，说明没有匹配到路由
    if (!ctx.body) {
      return R.error(ERROR_SYSTEM_CODE.ROUTER_NOT_MATCH_ERROR)
    }
  }
}
